6 research outputs found

    Lassie: HOL4 Tactics by Example

    Get PDF
    Proof engineering efforts using interactive theorem proving have yielded several impressive projects in software systems and mathematics. A key obstacle to such efforts is the requirement that the domain expert is also an expert in the low-level details in constructing the proof in a theorem prover. In particular, the user needs to select a sequence of tactics that lead to a successful proof, a task that in general requires knowledge of the exact names and use of a large set of tactics. We present Lassie, a tactic framework for the HOL4 theorem prover that allows individual users to define their own tactic language by example and give frequently used tactics or tactic combinations easier-to-remember names. The core of Lassie is an extensible semantic parser, which allows the user to interactively extend the tactic language through a process of definitional generalization. Defining tactics in Lassie thus does not require any knowledge in implementing custom tactics, while proofs written in Lassie retain the correctness guarantees provided by the HOL4 system. We show through case studies how Lassie can be used in small and larger proofs by novice and more experienced interactive theorem prover users, and how we envision it to ease the learning curve in a HOL4 tutorial

    Explication textuelle de preuves pour le calcul des constructions inductives

    No full text
    Ce travail concerne la présentation des preuves formalisées dans le calcul des constructions inductives. Le calcul des constructions est un [lambda]-calcul typé introduit par Th. Coquand et G. Huet. Il permet un codage fonctionnel des preuves d'ordre supérieur par l'isomorphisme de Curry-Howard. Nous étudions dans ce manuscrit une variante de ce formalisme étendue par Ch. Paulin et B. Werner. Nous décrivons une fonction réversible traduisant les termes de preuve du formalisme en des textes mathématiques en français. Dans le premier sens, du [lambda]-terme vers la langue naturelle, cette traduction est une présentation de la preuve. Elle comporte une phase de sélection des informations avec organisation du discours puis une phase de verbalisation. Dans l'autre sens, du texte vers le [lambda]-terme, il s'agit d'une validation. Le texte est analysé syntaxiquement puis évalué comme un script de système de preuve. La réversibilité de la fonction de présentation permet de garantir formellement que les démonstrations produites en français sont des preuves formelles. Elles peuvent de fait être validées par un processus automatiqueGRENOBLE-MI2S (384212302) / SudocNICE-BU Sciences (060882101) / SudocSudocFranceF

    Extracting Text from Proof

    Get PDF
    this paper, we will be concerned with proof assistants that construct a proof object, i.e. a data structure that explicitly represents the proof of facts established with the system. Proof objects are built by a number of modern proof assistants ([Coq91, Hol92, Lego92]), but they are rarely used for anything useful. They are generally considered to be exceedingly large and difficult to understand. On the basis of experiments carried out in the last three years with several computer proof assistants, we disagree with this commonly held view and find proof objects useful and important in many respects. First it is possible to make good sense out of these proof objects, and this is what we will show in this paper. Second, proof objects are far more independent of the proof assistant than proof scripts and they form a better basis for understanding and displaying the intellectual content of a proof. As a result, they are very useful to debug automatic proof tactics. Last, if they can be built incrementally as in ALF [Alf93], proof objects provide a useful interactive feedback on what is going on in the proof. Presenting proof objects in an intelligible form is non trivial. After a number of unsuccessful experiments with graphical representations, we are now convinced that the best method is to build transducers from proof objects to pseudo natural language. 2 Proof objects and their presentatio

    Extracting tex from proofs

    No full text
    Programme 2 - Calcul symbolique, programmation et genie logiciel. Projet CroapSIGLEAvailable at INIST (FR), Document Supply Service, under shelf-number : 14802 E, issue : a.1995 n.2459 / INIST-CNRS - Institut de l'Information Scientifique et TechniqueFRFranc

    Nonuniform Coercions via Unification Hints

    No full text
    We introduce the notion of nonuniform coercion, which is the promotion of a value of one type to an enriched value of a different type via a nonuniform procedure. Nonuniform coercions are a generalization of the (uniform) coercions known in the literature and they arise naturally when formalizing mathematics in an higher order interactive theorem prover using convenient devices like canonical structures, type classes or unification hints. We also show how nonuniform coercions can be naturally implemented at the user level in an interactive theorem prover that allows unification hints
    corecore